The present invention is directed to a method and apparatus for controlling programs in a network. In particular, the present invention is directed to a method and apparatus which automatically detects and corrects error conditions occurring in programs running on network workstations.
Today""s networks are expanding in size and complexity. A network administrator is typically in charge of planning, organizing and maintaining the network. His responsibilities include trobleshooting not only network hardware and software problems, but hardware and software problems on each of the workstations in the network. As much as eighty percent of his time can be spent on troubleshooting problems on the workstations, including problems specific to each program that the users may be running. Until the network administrator can fix the problem for a user, the workstation may be down. Such downtime can be costly for any organization whose operations depend upon proper functioning of the network and its workstations. Further, because the network administrator must be able to diagnose and fix any problem that can occur with all the programs that are running on the network, he must be a highly skilled individual with at least a working knowledge of all network programs.
The present invention relates to a system for assisting the network administrator in solving the problems encountered in the network. A number of earlier versions of the program according to the present invention have been available in the marketplace for more than one year which will detect network problems and report them. The newest of these versions, released November 1992, is AlertVIEW(trademark), Version 2.0, available from Shany, Inc., Mountain View, Calif. These earlier versions can inform the network administrator that a problem exists with a particular application program running on one of the network workstations. However, the prior versions have only a limited capability in that they can only send a single command, or trigger, to the workstations in response to the detection of the problem, that is, upon receipt of an alert at a management console. In particular, the management console sends a trigger causing one of the following actions to occur: freeze, unfreeze, or reboot a workstation, start and stop a program running in the foreground, send a message, or send any single command in the form of a custom trigger, that the user indicates should be performed in response to specific alerts.
It is accordingly an object of the present invention to improve upon the earlier versions of the above-noted program in a manner which offers increased flexibility in the handling of problems that occur at workstations.
It is an object of the present invention to provide a network maintenance system which can identify failures of programs running on network workstations and take the appropriate corrective action to correct the problems that led to those failures.
It is another object of the present invention to provide a system which can correct problems occurring on workstations within the network by sending procedures to agents active on the workstations, each procedure consisting of one or more actions to be taken.
It is another object of the present invention to provide a network maintenance system which allows integrated remote access and control of the network workstations by the network administrator.
It is another object of the present invention to provide a system which allows the network administrator to schedule the automatic performance of network administration and maintenance tasks.
It is another object of the present invention to provide a system which allows the network administrator to automatically send keystroke jobs to the workstations in the network.
It is another object of the present invention to provide a system which allows automatic discovery of agents.
It is another object of the present invention to provide a system which provides specific agents which are developed so as to be tailored to specific applications.
According to one embodiment, a system is provided for controlling at least one program capable of being executed on any of at least two workstations in a network. The network includes at least one agent module resident on each of the workstations and a management console connected to each of the workstations. The system comprises means for identifying an event occurring with respect to a program executing on one of the workstations, means for sending an alert to the management console which identifies the event, and means for storing a plurality of triggers. Each of the triggers is adapted to cause an action to be taken within the network. The system further comprises means for storing at least one procedure, the procedure comprising at least one of the triggers, and means for sending at least one of the procedures from the management console to the agent module resident on the one of the workstations in response to receipt of the alert.
According to another embodiment, a system for monitoring and controlling at least one program in a network is provided. The network comprises at least two workstations and a management console connected to each of the workstations. The system comprises at least one generic agent means resident on each of the workstations for transmitting alerts indicating occurrence of an event with a program executing on the workstation, and monitor means resident on the management console for logging alerts transmitted by any of the agent means. The system further includes means for storing a plurality of triggers to be sent from the monitor means to the agent means, the triggers comprising commands which cause actions to be taken by the agent means in response to the event, means for defining at least one procedure, the procedure including at least one of the stored triggers, and manager means for monitoring and controlling operations of the agent means, the manager means comprising means for sending the procedure to the agent means in response to an alert.
According to another embodiment, a method is provided for monitoring and controlling at least one program capable of being executed on any of at least two workstations in a network. The network comprises at least one agent module resident on each of the workstations and a management console connected to each of the workstations. The method comprises the steps of storing a plurality of triggers, each of the triggers adapted to cause an action to be taken within the network, storing at least one procedure, the procedure comprising at least one of the plurality of triggers, identifying an event occurring on one of the workstations, sending an alert to the management console which identifies the event, and sending at least one of the procedures from the management console to the agent module resident on the workstation in response to receipt of the alert.